$.fn.copyTo = function(to) 
{
    var to = $(to);
    for ( var i = 1; i < arguments.length; i++ )
        to.set( arguments[i], this.get(0)[ arguments[i] ] );
    return this;
};

new function() 
{
       // $.fn.validate = validate() {};
    $.fn.validate = 
    {
        init: function(o) 
		{
          if(o.name == 'ContactName') { return this.username(o) };
          if(o.name == 'Email') { return this.email(o) };
		  if(o.name == 'Phone') { return this.mobile(o) };
         // if(o.name == 'dob') { return this.dob(o) };
		  
		  
        },
        username: function(o) 
		{
          var user =/^(\w+\s*|\w+)+$/;;
           if (o.value.match(user)) 
		   {
             //doValidate(o);  -- (ajax) if exist in db 
			 return doSuccess(o);
            } else 
			{
               return doError(o,'Your name not allowed');
			  
            };
        },
        email: function(o) 
		{
          var email  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
           if (o.value.match(email)) 
		   {
              return doSuccess(o);
           } else 
		   {
              return doError(o,'not a valid email');
			  
           };
        },
		mobile: function(o) 
		{
          var mob = /^[0-9]{3}(\s)*[0-9]{6,8}$/; //000 00000000
           if (o.value.match(mob)) 
		   {
             return doSuccess(o);
			 //doValidate(o);
            } else 
			{
              return doError(o,'not a valid number ');
			 
            };
        },
        dob: function(o) 
		{
          var dob  = /(0[1-9]|[12][0-9]|3[01])+\-(0[1-9]|1[012])+\-(19|20)\d\d/; //DD-MM-YYYY
            if (o.value.match(dob)) 
			{
               return doSuccess(o);
            } else 
			{
              return doError(o,'not a valid date');
            };
        }
     };

     function doSuccess(o) 
	 {
              $('#' + o.id + '_img').html('<img src="images/accept.gif" border="0" style="float:left;" />');
              $('#' + o.id + '_li').removeClass("error");
              $('#' + o.id + '_msg').html("");
              $('#' + o.id + '_li').addClass("success");
			  return true;
     }

     function doError(o,m) 
	 {
              $('#' + o.id + '_img').html('<img src="images/exclamation.gif" border="0" style="float:left;" />');
              $('#' + o.id + '_li').addClass("error");
              $('#' + o.id + '_msg').html(m);
              $('#' + o.id + '_li').removeClass("success");
			  return false;
     }
     //private helper, validates each type after check  (ajax) if exist in db
     function doValidate(o) 
	 {
        	$('#' + o.id + '_img').html('<img src="images/loading.gif" border="0" style="float:left;" />');
        	$.post('ajax.php', { id: o.id, value: o.value }, function(json) 
			{
                  	eval("var args = " + json);
                        if (args.success == true)
                  	{
                  	   doSuccess(args);
                  	}
                  	else
                  	{
                          doError(args,args.msg);
                  	}
                  });
    };

};

$.fn.match = function(m) 
{
	$('#' + this.get(0).id + '_img').html('<img src="images/loading.gif" border="0" style="float:left;" />');
	if ($(this).get(0).val() == $(m.match).val()) 
	{
          $('#' + this.get(0).id + '_img').html('<img src="images/accept.gif" border="0" style="float:left;" />');
          $(m.error).removeClass("error");
          $(m.error).addClass("success");
          $('#' + this.get(0).id + '_msg').html("");
     } 
	 else 
	 {
          $('#' + this.get(0).id + '_img').html('<img src="images/exclamation.gif" border="0" style="float:left;" />');
          $(m.error).addClass("error");
          $(m.error).removeClass("success");
          $('#' + this.get(0).id + '_msg').html("The passwords don't match, please try again");
     };
};



$(document).ready(function()
{

  $("//[@class=validated]/input").blur(function() 
  {
          $(this).validate.init(this);
		  
  });
  
  
  $('#contactus').submit(function() 
  {
    
	var contactPerson= document.getElementById('tbcContactPerson');
	var email= document.getElementById('Email');
	var mobile= document.getElementById('tbcPhone');
    var categor=document.getElementById('category')
      
	  
	  if ($(contactPerson).validate.init(contactPerson) &&
          $(email).validate.init(email)&&
          $(mobile).validate.init(mobile))
       {
	    return true;
	   
	   }		  
		else
       {
	     return false;
	   }		

   //return false;
  });
  

  // This Used To Be HOVER, But I.E. Didnt Like It
  //$(".form li").hover(function(){$(this).addClass("selected");},function(){$(this).removeClass("selected");});
  $(".form li").mouseover(function() 
  {
          $(this).addClass("selected");
  });
  $(".form li").mouseout(function() 
  {
          $(this).removeClass("selected");
  });
});

